async function async1(){
    console.log('async1 start');
    await async2();
    console.log('async1 end')
}
async function async2(){
    console.log('async2')
}
console.log('script start');
async1();
console.log('script end')
/*
 ? 输出顺序：script start->async1 start->async2->script end->async1 end
 ? 解释：async 函数返回一个 Promise 对象，当函数执行的时候，一旦遇到 await 就会先返回，
 ? 等到触发的异步操作完成(这个等待就相当于放入微队列了)，再执行函数体内后面的语句。可以理解为，是让出了线程，跳出了 async 函数体。
 */
